package initialize

import (
	"example.com/m/v2/global"
	"fmt"
	"github.com/fsnotify/fsnotify"
	"github.com/spf13/viper"
)

func Viper() {
	viper.SetConfigFile("./config.yaml") // 指定配置文件路径
	err := viper.ReadInConfig()          // 查找并读取配置文件
	if err != nil {                      // 处理读取配置文件的错误
		panic(fmt.Errorf("Fatal error config file: %s \n", err))
	}

	viper.WatchConfig()
	viper.OnConfigChange(func(e fsnotify.Event) {
		// 配置文件发生变更之后会调用的回调函数
		fmt.Println("Config file changed:", e.Name)
	})

	//var c config.Database
	//viper.UnmarshalKey("mysql", &c)

	if err := viper.Unmarshal(&global.GVA_CONFIG); err != nil {
		panic(fmt.Errorf("Fatal error config file: %s \n", err))
	}
}
